#ifndef _FILE_MANAGER_H_
#define _FILE_MANAGER_H_

#include "../stdafx.h"

namespace io
{

	class CFileManager
	{
	private:
		static CFileManager * _inst;
		unsigned char * _get_data_from_file(const char * filename, DWORD * out_sz);
	protected:
		CFileManager(){}
		CFileManager(const CFileManager & r);
		CFileManager & operator = (const CFileManager & r);
	public:
		inline static CFileManager * create(){return (_inst = new CFileManager());}
		inline static CFileManager * getInstance(){return _inst;}
		inline unsigned char* getRawData(const char * filename, DWORD * out_sz = NULL){return _get_data_from_file(filename, out_sz);}
	};
} // namespace io
#endif //_FILE_MANAGER_H_